When a foreign page is mapped via a grant reference, it
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Tue, 22 Nov 2005 14:53:22 +0000 (15:53 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Tue, 22 Nov 2005 14:53:22 +0000 (15:53 +0100)
commited5b604759abdf695ee4a43b82f0825b3f40721f
treeb7b1ac1e75fc11a4e2898a26627641427ca328b8
parentd35dd33f4c918c9ce61f6987d6524085759c3186
When a foreign page is mapped via a grant reference, it
must also be unmapped explicitly via the grant-table
interface (GNTTABOP_unmap_grant_ref). If not, the guest
ends up with a dangling grant reference that is not cleared
up until the guest dies.

Because this can obviously lead to deferred hard-to-debug
problems, debug builds of Xen use a 'spare' PTE flag to
track granted mappings and to crash a domain if it attempts
to free such a PTE without using GNTTABOP_unmap_grant_ref.

Signed-off-by: Keir Fraser <keir@xensource.com>
xen/arch/ia64/xen/grant_table.c
xen/arch/x86/domain.c
xen/arch/x86/mm.c
xen/common/grant_table.c
xen/include/asm-x86/page.h
xen/include/asm-x86/x86_32/page-2level.h
xen/include/asm-x86/x86_32/page-3level.h
xen/include/asm-x86/x86_32/page.h
xen/include/asm-x86/x86_64/page.h
xen/include/xen/grant_table.h